#pragma once
#include <list>
#include <string>
#include "global_include.h"
#include "3DPoint.h"

class C3DObject
{
public:
	C3DObject(void);
	virtual ~C3DObject(void);
	void FreeObjects();
	
	// Does not copy data, just adds ptr to m_objects list!
	void AddObject(C3DObject* ptr);
	virtual void Draw();
	void SetPosition(GLfloat x, GLfloat y, GLfloat z);

protected:
	std::list<C3DObject*> m_objects;
	C3DPoint m_position;
	std::string m_name;

};
